/*
 *
 * Copyright (c) 2023 - future
 * @author fzh
 * @email e_341877120_mail@163.com
 * @link https://mvnrepository.com/search?q=io.github.xrfzh.cn
 *
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */

package cn.xrfzh.api.video.pojo;

import cn.hutool.core.annotation.Alias;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;

import java.io.Serializable;
import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;

/**
 * 用于存储视频信息
 *
 * @author fzh
 * @email e_341877120_mail@163.com
 * @date 2023-10-24 08:34:41
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("tb_video")
@ApiModel("<实体类Video>")
public class Video implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 唯一标识每个视频的ID
     */
    @TableId(type = IdType.AUTO)
    @Alias("唯一标识每个视频的ID")
    @ApiModelProperty("唯一标识每个视频的ID")
    private Integer videoId;

    /**
     * 视频标题
     */
    @Alias("视频标题")
    @ApiModelProperty("视频标题")
    private String title;

    /**
     * 视频描述
     */
    @Alias("视频描述")
    @ApiModelProperty("视频描述")
    private String description;

    /**
     * 存储视频文件的URL
     */
    @Alias("存储视频文件的URL")
    @ApiModelProperty("存储视频文件的URL")
    private String videoUrl;

    /**
     * 视频缩略图的URL
     */
    @Alias("视频缩略图的URL")
    @ApiModelProperty("视频缩略图的URL")
    private String thumbnailUrl;

    /**
     * 外键，指向内容分类表中的分类ID
     */
    @Alias("外键，指向内容分类表中的分类ID")
    @ApiModelProperty("外键，指向内容分类表中的分类ID")
    private Integer categoryId;

    /**
     * 视频时长
     */
    @Alias("视频时长")
    @ApiModelProperty("视频时长")
    private Integer duration;

    /**
     * 视频上传日期
     */
    @Alias("视频上传日期")
    @ApiModelProperty("视频上传日期")
    private Date uploadDate;

    /**
     * 外键，指向用户表中的用户ID（上传者）
     */
    @Alias("外键，指向用户表中的用户ID（上传者）")
    @ApiModelProperty("外键，指向用户表中的用户ID（上传者）")
    private Integer uploaderId;

}
